1. Field of the Invention
This invention relates to improvements in methods and apparatuses for reading Gray code data from mass data storage systems of the type that use synchronous data detection, and more particularly to improvements in methods for the detection of track and sector identification information in a Gray code containing field of a servo sector of the data media of the data storage system in which the method is practiced.
2. Relevant Background
Recently, there has been increased emphasis in the mass storage industry, and a concomitant increased demand among consumers, for larger and larger mass storage devices. For example, the sizes of magnetic hard disk drive devices have been increasing to the point at which even new entry level computers now have a disk storage capability of at least 1 Gbyte, and most computers have disk storage capabilities in excess of 3 Gbytes, and even more. At the same time, disk drive manufacturers are working to reduce the costs of their disk drive products, in order to keep the overall cost of their products affordable. Thus, despite the significant increase in disk drive capacity, disk drive product prices are continually being reduced.
One way by which costs have been reduced and disk capacities increased is through the use of denser data formats on the data media, a direction to which the industry is trending. However, as a result of such denser data provisions, when the data is read from the data media, the data signals are becoming less and less discrete, and distinguishing them, one from another, is becoming more and more difficult. Consequently, the data pulses that are detected are beginning to have greater and greater intersymbol interference, commonly referred to as ISI.
This poses a problem at the very least to the detection of the information contained in the device that identifies the tracks and sectors, and provides information by which the data reading head can be positioned. More particularly, as background, computer mass storage devices have at least one, and often a plurality of, heads for reading, and often writing data, to the data media. The heads are selectively positionable over selectable concentric circles of data recorded on the media of the drive. The concentric circles are referred to as tracks, and the portion of each concentric circle or track that contains data on a particular rotating media is referred to as a sector.
In order to position the magnetic or other data-reading head over the desired track and sector, data that identifies each individual track and sector is encoded on the data media in a special field, usually at the beginning of each sector. Thus, when the head is moved to a particular track, and the track/sector identifying data is read, the position of the head can be determined. It can be further determined whether the sector and track over which the head is positioned is the desired sector and track from which data is desired to be read and/or written.
Typically, this identification and position information is contained in Gray code data written into the fields associated with the respective tracks and sectors. As implied above, one goal of the system is to recover the position information contained in the servo field of the mass media device in order to determine the position of the head on the disk surface and to provide the controller the instantaneous Position Error Signal (PES) and Gray code.
One of the well-known characteristics of a Gray code is that the bits of successive Gray code words differ at most by only one bit. Thus, when Gray code encoding is used to identify successive sector and track information, the encoded data of adjacent tracks differ at most by one bit. The reason for this choice is that during the process of positioning the head, particularly during a coarse track seek operation in which the servo positioning system is moving the head across on the surface of the disk coarsely seeking the proper track location, if the data of a Gray code field differs from the desired field by only one bit, then the uncertainty in the track identification is at most .+-.1 track. This is because this information might be read either when the head is still moving and crossing over two adjacent tracks or when it is not positioned accurately on the track center. For this reason the decoding of the Gray code provides only a coarse information on the position of the head. Fine positioning may then be achieved by demodulating the amplitude of a series of bursts after the Gray code field. These bursts are usually placed in an off-track pattern which may differ for each servo system. The amplitude of each burst gives an indication of the relative position of the head with respect to the track center that can be used by the servo controller to generate a PES used to correct the head position.
Two main primary techniques exist for reading Gray code information. The two techniques are usually referred to as synchronous and asynchronous. Early systems used the asynchronous technique almost exclusively. In the asynchronous technique a field containing AGC information is written before the Gray code field. The AGC information is used to adjust the amplitude of the read back signal before detection. A peak detector then detects the peaks of the flux changes in the magnetization pattern written on the disk. Circuitry in the channel then qualifies the peaks, and provides the information to the controller. Based on the identification of the peaks in the read-back signal and eventually their sign, the controller is able to recover the Gray code pattern and determine the track number.
In a synchronous servo channel, the information from the Gray code field is read with a technique similar to that used to decode the actual data information in the sector. This technique requires not only an amplitude recovery before the detection, but also requires a time recovery to synchronize the channel to the incoming data. One advantage of synchronous detection is that it is possible to use the same recovery circuits that are used in the data recovery mode. Another advantage is that using a Viterbi detector to decode the information (below discussed), the Gray code can be provided directly to the controller without a need for further processing. Additionally, the same fast NRZ interface of data mode can be used to communicate with the controller. (NRZ refers to "non-return to zero", and refers to a data transmitting technique in which the data is encoded according to a particular known state change transition in dependence upon the states of successive data bits.)
It can be seen, however, that if the Gray code data is extracted by decoding the data in the Gray code field and by demodulating the amplitude of a series of periodical pattern (bursts) written on the disk, if the data has a high ISI which cannot be accurately resolved, the precise location of the head cannot be properly identified or established. This results, of course, in undesirable device operation. Thus, in the past, in order to detect the data symbols read from the data media which have a high ISI level, it has been proposed to use a "Viterbi" detector, which is capable of separating the desired recorded symbols. Viterbi detectors are known in the art, and their operation and construction is described in Bergmans, J. W. M., Digital Baseband Transmission and Recording, pages 301-315, 1996, which is incorporated herein by reference.
Severe ISI in today's high density data storage systems eliminates the possibility of having one isolated peak associated with each magnetic flux change as the head traverses over the magnetic media. Instead, the shape of the read-back voltage is determined with a series of magnetic transitions on the disk. The Viterbi algorithm is a sequence estimator that chooses the maximum likely data sequence on the disk from all probable data sequences to create the observed read-back waveform.
The Viterbi algorithm is performed by a number of "Add-Compare-Select" (ACS) hardware units, each associated with a unique sequence of binary data on the disk. The length of the sequence is dictated by the severity of the ISI. In a standard Viterbi detector, the number of states (or the number of required ACS units) is the length of the sequence to be detected raised to the power of 2. Thus, as the ISI gets more severe, the circuit area is increased and the circuit arrangement increases in complexity in an exponential fashion.